// pages/catalog/catalog.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    bookId: '', // 书籍id
    bookDetail: {}, // 书籍详情
    bookCatalog: {}, // 书籍目录
    bookNewCatalog: [], // 新书籍目录
    bookFlag: true, // 显示目录
    defaultCatalog: 0, // 默认目录
    catalogNum: '1-100' // 目录数
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // console.log(options);
    this.setData({
      bookId: options.bookId
    })
    // console.log(this.data.bookId);
    this.getBookChapter()
  },

  // 获取书籍目录及详情
  getBookChapter() {
    // 展示loading效果
    wx.showLoading({
      title: '数据加载中...',
    })

    wx.request({
      url: 'https://apic.netstart.cn/yunyuedu/reader/book/info.json?source_uuid=' + this.data.bookId,
      method: 'GET',
      success: (res) => {
        console.log(res);
        this.setData({
          bookDetail: res.data.data.book,
          bookCatalog: res.data.data.catalog
        })
        // console.log(this.data.bookDetail);
        // console.log(this.data.bookCatalog);

        // 目录处理函数
        function getCatalog(sum) {
          // let n = parseInt(sum.length / 100)
          // let surplus = parseInt(sum.length % 100)
          let newArr = []
          let arr = sum
          function getNewArr(arr) {
            let arr2 = []
            let obj = {}
            if (arr.length > 100) {
                arr.forEach((item,index) => {
                if (index < 100) {
                  arr2.push(item)
                  obj = {active: false,arr2}
                }
              })
              arr.splice(0,100)
              getNewArr(arr)
            } else {
              arr.forEach((item) => {
                  arr2.push(item)
                  obj = {active: false,arr2}
              })
            }
            newArr.unshift(obj)
          }
          getNewArr(arr)
          // console.log(newArr);
          return newArr
        }
        this.setData({
          bookNewCatalog: getCatalog(this.data.bookCatalog)
        })

        this.data.bookNewCatalog[0].active = true

        this.setData({
          bookNewCatalog: this.data.bookNewCatalog
        })

        console.log(this.data.bookNewCatalog);

      },
      // 隐藏loading效果
      complete: () => {
        wx.hideLoading()
      }
    })
  },

  // 显示快捷目录
  changeBookFlag() {
    this.setData({
      bookFlag: !this.data.bookFlag
    })
    // console.log(11111);
  },

  // 更换目录
  changePage(e) {
    this.setData({
      defaultCatalog: e.target.dataset.index,
      bookFlag: !this.data.bookFlag,
      catalogNum: (e.target.dataset.index * 100 + 1) + '-' + (e.target.dataset.index * 100 + 100)
    })

    this.data.bookNewCatalog.forEach((item) => {
      item.active = false
    })

    this.data.bookNewCatalog[e.target.dataset.index].active = true

    this.setData({
      bookNewCatalog: this.data.bookNewCatalog
    })
    
    console.log(e.target.dataset);
  },

  // 前往内容页面
  goContent(e) {
    // console.log(e.currentTarget.dataset);
    if (!e.currentTarget.dataset.vip) {
      wx.navigateTo({
        url: "/pages/bookcontent/bookcontent?bookId=" + e.currentTarget.dataset.bookid +"&nowChapterID=" + e.currentTarget.dataset.nowchapterid,
      })
    } else {
      wx.showToast({
        title: '此章节需要付费观看',
        icon: 'none',
      })
    }
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})